package org.zwy.gradetrack.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.zwy.gradetrack.entity.Employer;

import java.util.List;

/**
 * 用人单位Service接口
 */
public interface EmployerService extends IService<Employer> {
    
    /**
     * 分页查询用人单位列表
     *
     * @param page 分页参数
     * @param name 单位名称（可选）
     * @return 分页结果
     */
    Page<Employer> pageEmployers(Page<Employer> page, String name);
    
    /**
     * 创建用人单位
     *
     * @param employer 用人单位信息
     * @return 是否创建成功
     */
    boolean createEmployer(Employer employer);
    
    /**
     * 更新用人单位信息
     *
     * @param employer 用人单位信息
     * @return 是否更新成功
     */
    boolean updateEmployer(Employer employer);
    
    /**
     * 删除用人单位
     *
     * @param id 用人单位ID
     * @return 是否删除成功
     */
    boolean deleteEmployer(Long id);
    
    /**
     * 根据ID获取用人单位详情
     *
     * @param id 用人单位ID
     * @return 用人单位信息
     */
    Employer getEmployerById(Long id);
    
    /**
     * 根据名称查询用人单位
     *
     * @param name 单位名称
     * @return 用人单位列表
     */
    List<Employer> getEmployersByName(String name);
    
    /**
     * 批量导入用人单位数据
     *
     * @param employers 用人单位列表
     * @return 是否导入成功
     */
    boolean batchImport(List<Employer> employers);
}